package com.ruoyi.weiriya.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.weiriya.domain.WOrder;

import java.util.List;

/**
 * 用户支付订单Service接口
 * 
 * @author lynn
 * @date 2023-08-01
 */
public interface IWOrderService extends IService<WOrder>
{
    /**
     * 支付成功逻辑处理
     * @param sn 订单编号
     * @param paymentMethod 支付方式
     * @param receivableNo 第三方序列号
     */
    void payOrder(String sn, String paymentMethod, String receivableNo);

    /**
    * 新增订单
    * @param wOrder 新增数据
    * @return 结果
    */
    WOrder saveOrder(WOrder wOrder);

    /**
    * 查询订单集合
    * @param wOrder 查询条件
    * @return 结果集
    */
    List<WOrder> getList(WOrder wOrder);

    /**
     * 查询订单详情
     * @param id 查询条件
     * @return 结果集
     */
    WOrder getWOrderById(String id);

    /**
     * 用户取消订单
     * @param wOrder
     * @return 结果
     */
    boolean cancel(WOrder wOrder);

    /**
     * 管理员修改订单价格
     * @param wOrder
     * @return 结果
     */
    boolean updateWOrderById(WOrder wOrder);


    /**
     * 超时自动取消
     */
    void orderTimeoutTask();
}
